package br.com.projeco.biblioteca.mensageria.dados;

public class CondicaoInfo {
	// Indica a propriedade em que será verificada a condição
	public String propriedade;
	public CondicaoTipoEnum tipoCondicao;
	public Object[] valores;
	
	public String getPropriedade() {
		return propriedade;
	}
	public void setPropriedade(String propriedade) {
		this.propriedade = propriedade;
	}
	public CondicaoTipoEnum getTipoCondicao() {
		return tipoCondicao;
	}
	public void setTipoCondicao(CondicaoTipoEnum tipoCondicao) {
		this.tipoCondicao = tipoCondicao;
	}
	public Object[] getValores() {
		return valores;
	}
	public void setValores(Object[] valores) {
		this.valores = valores;
	}
	
	/**
	 * Construtor default
	 */
	public CondicaoInfo(){ }
	
	/**
	 * Aceita diretamente as propriedades e apenas 1 valor
	 * @param propriedade
	 * @param tipoCondicao
	 * @param valor
	 */
	public CondicaoInfo(String propriedade, CondicaoTipoEnum tipoCondicao, Object valor){
		this.propriedade = propriedade;
		this.tipoCondicao = tipoCondicao;
		this.valores = new Object[]{ valor };
	}
	
	/**
	 * Aceita diretamente as propriedades e diversos valores
	 * @param propriedade
	 * @param tipoCondicao
	 * @param valores
	 */
	public CondicaoInfo(String propriedade, CondicaoTipoEnum tipoCondicao, Object[] valores){
		this.propriedade = propriedade;
		this.tipoCondicao = tipoCondicao;
		if (valores != null)
			this.valores = valores;
		else
			this.valores = new Object[] { null };
	}
	
	
}
